var utils = {};

utils.log = function () {
    if(Arena.DEBUG){
        console.log.apply(console, arguments);
    }
};

/**
 * 获取两点间的角度，返回角度
 * 
 * @param {Number} startX 起始点X坐标
 * @param {Number} startY 起始点Y坐标
 * @param {Number} endX   结束点X坐标
 * @param {Number} endY   结束点Y坐标
 * 
 * @return 返回两点间的角度
 */
utils.angle = function (startX, startY, endX, endY) {
    // 直角的边长
    var x = Math.abs(startX - endX);
    var y = Math.abs(startY - endY);
    // 斜边长
    var z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
    // 余弦
    var cos = y / z;
    // 弧度
    var radina = Math.acos(cos);
    // 角度
    var angle =  180 / (Math.PI / radina);

    if(endX > startX){
        if(endY > startY){
            //第一象限
        }else{
            //第二象限
            angle = 180 - angle;
        }
    }else{
        if(endY < startY){
            //第三象限
            angle = 180 + angle;
        }else{
            //第四象限
            angle = 360 - angle;
        }
    }
    
    return angle;
};

//获取url query string参数
utils.getUrlParam = function (name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    
    if(r != null){
        return unescape(r[2]);
    }
    
    return null;
};

utils.cutStr = function (text, length) {
    text = text + "";
    var reg = /[^\x00-\xff]/g;
    if(text.replace(reg, "mm").length <= length){return text;}
    var m = Math.floor(length / 2);
    for(var i = m; i < text.length; i++){
        if(text.substr(0, i).replace(reg, "mm").length >= length){
            return text.substr(0, i) + "...";
        }
    }
    return text;
};

(function (utils, Arena) {
    var isDebug = utils.getUrlParam("is_debug");
    if(isDebug == "1"){
        Arena.DEBUG = true;
    }
})(window.utils, window.Arena);